Primero comenzamos utilizando dos modelos estáticos, una regresión normal y un modelo lineal generalizado poisson con liga log para ver como se ajustaban a los datos pero primordialmente para ver el comportamiento y poder interpretar cada una de las variables. Asimismo, nos interesa saber si el tipo de categoría guarda relación con el número de créditos otorgados.
Se utilizó el siguiente modelo:
\[ Y_i \sim N(\mu_i,\tau) \] \[ \mu_i=\alpha+ \gamma_{j}I_{categoria}+\beta_1X2_i+\beta_2X3_i+ \beta_3X4_i+\beta_4X5_i+\beta_5X6_i \] Donde:
\[\sum_{j=1}^9\gamma_{j} =0\] \[\alpha\sim N(0,0.001) \]
\[\gamma_j\sim N(0,0.001) \]
\[\tau\sim Gama(0.001,0.001) \] \[\beta_j\sim N(0,0.001) \] Se utilizó una regresión lineal con errores que se distribuyen nomal con media cero. Como la categría es una variable categórica se incluyó la restricción de que la suma de los coeficientes (\(\gamma_j\)) fuera cero. Se definió que el intercepto \(\alpha\), \(\gamma_j\) y las \(\beta_j\) provienen de una distribución normal con media 0 y precisión 0.001 para que sean no informativas. Asimismo, se definió que la \(\tau\) como una gamma con \(a=0.001\) y \(b=0.001\).
Se corrieron dos cadenas y se revisaron tanto las cadenas como la convergencia para cada uno de los coeficientes. En todos los casos se apreció convergencia como se puede constatar en las gráficas que se incluyen en el Apéndice.
Graficamos los valores observados contra las estimaciones y notamos que en general las estimaciones no eran tan malas con excepción del caso de hogares con hijos en el que el modelo no esta captando adecuadamente la información de este segmento particularmente.
Proseguimos a utiilzar un modelo lineal generalizado como se describe en el siguiente apartado para ver si se mejoraba el ajuste.
Este modelo se definió de la siguiente manera:
\[ Y_i \sim Po(\mu_i) \]
\[\mu_i=ne_i\cdot\lambda_i \]
\[ log(\lambda_i)=\alpha+ \gamma_{j}I_{categoria}+\beta_1X2_i+\beta_2X2_i+ \beta_3X4_i+\beta_4X5_i+\beta_5X6_i \] Donde:
\[\sum_{j=1}^9\gamma_{j} =0\]
\[\alpha\sim N(0,0.001) \]
\[\gamma_j\sim N(0,0.001) \]
\[\beta_j\sim N(0,0.001) \]
Se utilizó un modelo lineal generalizado Poisson con liga log. De nueva cuenta como los segmentos son una variable categórica se incluyó la restricción de que la suma de los coeficientes (\(\gamma_j\)) fuera cero. Asimismo, se definió que el intercepto \(\alpha\), \(\gamma_j\) y las \(\beta_j\) provienen de una distribución normal con media 0 y precisión 0.001 para que sean no informativas.
Para este modelo también se utilizaron 2 cadenas y se constató que la convergencia para cada uno de los coeficientes fue correcta como se puede visualizar en las gráficas que se incluyen en el Apéndice.
Por otro lado, apreciamos que este modelo mejoró la estimación para la categoría hogares con hijos como se puede notar a continuación:
No obstante lo anterior, decidimos definir un modelo que incorpore el efecto del tiempo buscando “captar” de manera más apropiada la información de los datos.
El modelo dinámico lo definimos como sigue:
Observación:
\[ Y_t|\mu_t\sim Po(\mu_t) \] \[\mu_t=ne_t\cdot\lambda_t \]
\[ log(\lambda_t)=\alpha+ \gamma_{j}I_{categoria}+\beta1_{jt}X2_t+\beta2_{jt}X2_t+ \beta3_{jt}X4_t+\beta4_{jt}X5_t+\beta5_{jt}X6_t \]
Evolución:
\[\beta1_{jt}\ldots\beta5_{jt}\sim N(\beta_{jt-1},\tau_t) \]
Donde:
\[\sum_{j=1}^9\gamma_{j} =0\]
\[\beta1_{j1}\ldots \beta5_{j1}\sim N(0,0.001) \]
\[\alpha\sim N(0,0.001) \]
\[\gamma_j\sim N(0,0.001) \]
\[\tau\sim Gama(100,1) \]
El DIC de los tres modelos se muestra a contiuación:
## DIC
## Regresión Lineal Normal 1634.55
## Glm poisson liga log 1626.14
## Dinámico poisson liga log 1571.00
Notamos que el mejor DIC lo obtuvimos con el modelo dinámico.
## Pseudo-R2
## Regresión Lineal Normal 0.8375488
## Glm poisson liga log 0.8478875
## Dinámico poisson liga log 0.9737538
De igual manera, la mejor pseudo \(R^2\) se obtuvo con el modelo dinámico; es decir, es el modelo que explica mayor variabilidad de los datos.
Para el modelo lineal normal se aprecia que el sector 1 (ADULTO EN PLENITUD) y el 4 (HOGARES CON HIJOS) son lo s que tiene mayor influencia positiva en el nùmero de creditos, mientras que el 3 (DIVORCIADO) y el 7 (PAREJA JOVEN) tienen la mayor influencia negativa.
Referente a las demás variables, la referente a otros productos bancarios es la que tiene mayor efecto sobre el número de créditos que se otrogan y el importe promedio de los ultimos 3 meses no es significativo (\(\beta_4\)).
## mean 2.5% 97.5%
## alpha.adj 53.461526 52.092326 54.8430916
## beta[1] 8.957241 1.932520 15.9206825
## beta[2] 18.176980 3.062320 33.5507424
## beta[3] -1.344589 -2.942725 0.2510475
## beta[4] -6.475591 -15.102006 2.0955961
## beta[5] -7.364654 -13.406689 -1.4042234
## gama.adj[1] 40.928899 28.973600 53.0750253
## gama.adj[2] 15.905802 8.177202 23.8014755
## gama.adj[3] -24.262371 -34.213550 -14.5204402
## gama.adj[4] 29.671149 7.048531 52.0867014
## gama.adj[5] -10.011851 -24.463812 4.4359098
## gama.adj[6] -18.885073 -40.336583 2.4792849
## gama.adj[7] -21.159869 -26.720041 -15.5827211
## gama.adj[8] -18.693273 -25.764264 -11.7091271
## gama.adj[9] 6.506586 -1.934038 14.9268886
En la siguiente gráfica se muestra la serie de datos observados (en color negro) y los valores estimados (en color rojo). La franja gris, representa el intervalo al 95%.
Este modelo no ajusta adecuadamente por sector. Como era de esperarse, debido a la interpretación de los coeficientes, los grupos correspondientes a ADULTOS EN PLENITUD y HOGARES CON HIJOS, son los que presentan valores más altos en el número de creditos. Mientras que DIVORCIADO presenta los valores más bajos para el número de créditos.
Este modelo nos da una idea general de la relación de cada sector con respecto al número de créditos que se otorgan, pero no se recomienda su uso para hacer pronósticos.
Al igual que en el modelo anterior la variable con más influencia es \(\beta_2\) que corresponde al número promedio de productos bancarios. De manera similar, el sector con más influencia positiva es el 1 (ADULTO EN PLENITUD) . Por su parte, el sector 6 (JOVEN TRABAJADOR) tiene la mayor influencia negativa.
## mean 2.5% 97.5%
## alpha.adj -4.51493567 -4.53465261 -4.49523727
## beta[1] 0.18881938 0.08332916 0.29959775
## beta[2] 0.29469532 0.06424136 0.54043273
## beta[3] -0.01441575 -0.04038890 0.01064093
## beta[4] -0.08860340 -0.20328791 0.02812554
## beta[5] -0.20640352 -0.29902481 -0.11714490
## gama.adj[1] 0.28061122 0.09559429 0.47309524
## gama.adj[2] 0.21776964 0.09260753 0.34942480
## gama.adj[3] 0.25212410 0.09587662 0.40471715
## gama.adj[4] 0.06126906 -0.32016572 0.43485585
## gama.adj[5] -0.09042833 -0.31735739 0.12935705
## gama.adj[6] -0.74216131 -1.08234605 -0.39176660
## gama.adj[7] -0.21619936 -0.29956968 -0.13312651
## gama.adj[8] 0.02760147 -0.08196129 0.13314551
## gama.adj[9] 0.20941350 0.07915503 0.33803416
El modelo lineal generalizado Poisson con liga log, en general da resultados similares a la regresión normal; sin embargo, en algunos casos como HOGARES CON HIJOS y JOVEN PROFESIONAL genera mejores estimaciones.
####### "estatico_regresion_normal.txt"
model
{
#Likelihood
for (i in 1:n) {
y[i] ~ dnorm(mu[i],tau)
mu[i]<-alpha+gama[x1[i]]+beta[1]*x2[i]+beta[2]*x3[i]+beta[3]*x4[i]+beta[4]*x5[i]+beta[5]*x6[i]
}
#Priors
alpha ~ dnorm(0,0.001)
for (j in 1:9) {
gama[j] ~ dnorm(0,0.001)
}
for (k in 1:5){
beta[k] ~ dnorm(0,0.001)
}
tau ~ dgamma(0.001,0.001)
#Prediction 1
for (i in 1:n) { yf1[i] ~ dnorm(mu[i],tau) }
#Estimable quantities
alpha.adj <- alpha+mean(gama[])
for (j in 1:9) {
gama.adj[j] <- gama[j]-mean(gama[])
}
}
####### "estatico_glm_poisson.txt"
model
{
#Likelihood
for (i in 1:n) {
y[i] ~ dpois(mu[i])
mu[i]<-ne[i]*lambda[i]
log(lambda[i])<-alpha+gama[x1[i]]+beta[1]*x2[i]+beta[2]*x3[i]+beta[3]*x4[i]+beta[4]*x5[i]+beta[5]*x6[i]
}
#Priors
alpha ~ dnorm(0,0.001)
for (j in 1:9) {
gama[j] ~ dnorm(0,0.001)
}
for (k in 1:5){
beta[k] ~ dnorm(0,0.001)
}
#Prediction 1
for (i in 1:n) {
yf1[i] ~ dpois(mu[i])
}
#Estimable quantities
alpha.adj <- alpha+mean(gama[])
for (j in 1:9) {
gama.adj[j] <- gama[j]-mean(gama[])
}
}
####### "poisson_dinamico.txt"
model
{
#Likelihood
for (i in 1:n) {
y[i] ~ dpois(mu[i])
mu[i]<-ne[i]*lambda[i]
log(lambda[i])<-alpha+gama[x1[i]]+beta1[i]*x2[i]+beta2[i]*x3[i]+beta3[i]*x4[i]+beta4[i]*x5[i]+beta5[i]*x6[i]
}
for (s in (10):n) {
beta1[s] ~ dnorm(beta1[s-9], tau)
beta2[s] ~ dnorm(beta2[s-9], tau)
beta3[s] ~ dnorm(beta3[s-9], tau)
beta4[s] ~ dnorm(beta4[s-9], tau)
beta5[s] ~ dnorm(beta5[s-9], tau)
}
for (w in 1:9){
beta1[w] ~ dnorm(0,0.001)
beta2[w] ~ dnorm(0,0.001)
beta3[w] ~ dnorm(0,0.001)
beta4[w] ~ dnorm(0,0.001)
beta5[w] ~ dnorm(0,0.001)
}
tau ~ dgamma(100, 1)
#Priors
alpha ~ dnorm(0,0.001)
for (j in 1:9) {
gama[j] ~ dnorm(0,0.001)
}
#Prediction 1
for (i in 1:n) {
yf1[i] ~ dpois(mu[i])
}
#Estimable quantities
alpha.adj <- alpha+mean(gama[])
for (j in 1:9) {
gama.adj[j] <- gama[j]-mean(gama[])
}
}